package com.yc.common.utils;

import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.yc.common.expection.ArgumentException;

import java.util.Collection;
import java.util.Map;

/**
 * @author zhuzy
 * @version 1.0
 * @description AssertUtil 断言工具类
 * @create 2022/7/11 10:07
 */
public class AssertUtils {
    /**
     * String非空
     *
     * @param param 参数
     * @param msg   toast消息
     * @author zhuzy
     * @date 2022/07/11 10:57
     */
    public static void StringNotEmpty(String param, String msg) {
        if (StrUtil.isEmpty(param)) {
            throw new ArgumentException(msg);
        }
    }

    /**
     * List非空
     *
     * @param param 参数
     * @param msg   toast消息
     * @author zhuzy
     * @date 2022/07/11 10:57
     */
    public static void ListNotEmpty(Collection param, String msg) {
        if (CollUtil.isEmpty(param)) {
            throw new ArgumentException(msg);
        }
    }

    /**
     * Map非空
     *
     * @param param 参数
     * @param msg   toast消息
     * @author zhuzy
     * @date 2022/07/11 10:57
     */
    public static void mapNotEmpty(Map param, String msg) {
        if (CollUtil.isEmpty(param)) {
            throw new ArgumentException(msg);
        }
    }

    /**
     * 非null
     *
     * @param obj obj
     * @param msg toast消息
     * @author zhuzy
     * @date 2022/07/11 10:57
     */
    public static void ObjectNotNull(Object obj, String msg) {
        if (obj == null) {
            throw new ArgumentException(msg);
        }
    }
}
